Programming With QuickTime VR 2.1

Previous | Overview | Contents | Next

Panorama Sample Atom Structure

A panorama sample atom describes a single panorama, including information about the default viewing angles and the source panoramic image. The structure of a panorama sample atom is defined by the VRPanoSampleAtom data type:

typedef struct VRPanoSampleAtom {
    UInt16                              majorVersion;
    UInt16                              minorVersion;
    UInt32                              imageRefTrackIndex;
    UInt32                              hotSpotRefTrackIndex;
    Float32                             minPan;
    Float32                             maxPan;
    Float32                             minTilt;
    Float32                             maxTilt;
    Float32                             minFieldOfView;
    Float32                             maxFieldOfView;
    Float32                             defaultPan;
    Float32                             defaultTilt;
    Float32                             defaultFieldOfView;
    UInt32                              imageSizeX;
    UInt32                              imageSizeY;
    UInt16                              imageNumFramesX;
    UInt16                              imageNumFramesY;
    UInt32                              hotSpotSizeX;
    UInt32                              hotSpotSizeY;
    UInt16                              hotSpotNumFramesX;
    UInt16                              hotSpotNumFramesY;
    UInt32                              flags;
    UInt32                              reserved1;
    UInt32                              reserved2;
} VRPanoSampleAtom, *VRPanoSampleAtomPtr;
majorVersion
The major version number of the file format.
minorVersion
The minor version number of the file format.
imageRefTrackIndex
The index of the image track reference. This is the index returned by the AddTrackReference function when the image track is added as a reference to the panorama track. There can be more than one image track for a given panorama track and hence multiple references. (A panorama track might have multiple image tracks if the panoramas have different characteristics, which could occur if the panoramas were shot with different size camera lenses.) The value in this field is 0 if there is no corresponding image track.
hotSpotRefTrackIndex
The index of the hot spot track reference.
minPan
The minimum pan angle, in degrees. For a full panorama, the value of this field is usually 0.0.
maxPan
The maximum pan angle, in degrees. For a full panorama, the value of this field is usually 360.0.
minTilt
The minimum tilt angle, in degrees. For a high-resolution panorama, a typical value for this field is -42.5.
maxTilt
The maximum tilt angle, in degrees. For a high-resolution panorama, a typical value for this field is +42.5.
minFieldOfView
The minimum vertical field of view, in degrees. For a high-resolution panorama, a typical value for this field is 5.0. The value in this field is 0 for the default minimum field of view.
maxFieldOfView
The maximum vertical field of view, in degrees. For a high-resolution panorama, a typical value for this field is 85.0. The value in this field is 0 for the default maximum field of view.
defaultPan
The default pan angle, in degrees.
defaultTilt
The default tilt angle, in degrees.
defaultFieldOfView
The default vertical field of view, in degrees.
imageSizeX
The width, in pixels, of the panorama stored in the highest resolution image track. For a high-resolution panorama, a typical value for this field is 768.
imageSizeY
The height, in pixels, of the panorama stored in the highest resolution image track. For a high-resolution panorama, a typical value for this field is 2496.
imageNumFramesX
The number of frames into which the panoramic image is diced horizontally. The width of each frame (which is imageSizeX / imageNumFramesX ) should be divisible by 4. For a high-resolution panorama, a typical value for this field is 1.
imageNumFramesY
The number of frames into which the panoramic image is diced vertically. The height of each frame (which is imageSizeY / imageNumFramesY ) should be divisible by 4. For a high-resolution panorama, a typical value for this field is 24.
hotSpotSizeX
The width, in pixels, of the panorama stored in the highest resolution hot spot image track.
hotSpotSizeY
The height, in pixels, of the panorama stored in the highest resolution hot spot image track.
hotSpotNumFramesX
The number of frames into which the panoramic image is diced horizontally for the hot spot image track. For a high-resolution panorama, a typical value for this field is 1.
hotSpotNumFramesY
The number of frames into which the panoramic image is diced vertically for the hot spot image track. For a high-resolution panorama, a typical value for this field is 24.
flags
A set of panorama flags. See "Panorama Sample Flag" for the currently defined flag.
reserved1
Reserved. This field must be 0.
reserved2
Reserved. This field must be 0.

© 1997 Apple Computer, Inc.

Previous | Overview | Contents | Next